package com.woniuxy.controller;

import java.util.List;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.woniuxy.entity.Coach;
import com.woniuxy.entity.PrivateInfo;
import com.woniuxy.entity.ResponseEntity;
import com.woniuxy.entity.User;
import com.woniuxy.service.PrivateInfoService;
import com.woniuxy.utils.CodeUtils;

@RestController
@RequestMapping("/privateinfo")
public class PrivateInfoController {
	@Autowired
	private PrivateInfoService privateInfoService;

	/**
	 * 增加一条约私教通知
	 * 
	 * @param info
	 * @param session
	 * @return
	 * @author 王敞
	 */
	@RequestMapping("/add")
	public ResponseEntity<Void> addPrivateInfo(PrivateInfo info, HttpSession session) {
		
		System.out.println(info);
		User user = (User) session.getAttribute("user");
		info.setUid(user.getUid());
		int res = privateInfoService.addPrivateinfo(info);
		if (res == -1) {
			// 表示余额不足
			return new ResponseEntity<Void>(CodeUtils.NOENOUGHMONEY, "余额不足");
		} else if (res == 2) {
			return new ResponseEntity<Void>(CodeUtils.HAVINGONEPRIVATEINFO, "还有进行中的约私教操作");
		} else if (res == 4) {
			return new ResponseEntity<Void>(CodeUtils.NOPAY_PRIVATEINFO, "还有未支付的约私教操作");

		} else {
			return new ResponseEntity<Void>().setCode(CodeUtils.SUCCESS_CODE).setMsg("ok");
		}

	}

	/**
	 * 通过用户id获取所有的约私教通知
	 * 
	 * @return
	 * @author 王敞
	 */
	@RequestMapping("/alluserinfos")
	public ResponseEntity<List<PrivateInfo>> findAllByUid(HttpSession session) {
		User user = (User) session.getAttribute("user");
		List<PrivateInfo> infos = privateInfoService.findPrivateInfosByUid(user.getUid());
		return new ResponseEntity<List<PrivateInfo>>(infos);
	}
	
	/**
	 * 通过教练id获取所有的约私教通知
	 * 
	 * @return
	 * @author 王敞
	 */
	@RequestMapping("/allcoachinfos")
	public ResponseEntity<List<PrivateInfo>> findAllByCid(HttpSession session) {
		Coach coach = (Coach) session.getAttribute("coach");
		List<PrivateInfo> infos = privateInfoService.findPrivateInfosByCid(coach.getCid());
		return new ResponseEntity<List<PrivateInfo>>(infos);
	}


}
